package com.yixin.hospital.entity.dto.req.drug;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

@ApiModel("新增药品请求体")
@Data
public class DrugAddReqDTO {

    @ApiModelProperty(value = "药品一级类别", example = "Y药品")
    @NotNull(message = "药品一级类别不能为空")
    private Long firstType;

    @ApiModelProperty(value = "药品二级类别", example = "X西药")
    @NotNull(message = "药品二级类别不能为空")
    private Long secondType;

    @ApiModelProperty(value = "药品三级类别", example = "T退烧药")
    @NotNull(message = "药品三级类别不能为空")
    private Long thirdType;

    @ApiModelProperty(value = "拼音编码", example = "HLXALDP")
    @NotBlank(message = "拼音编码不能为空")
    private String pinyinCode;

    @ApiModelProperty(value = "通用名", example = "氨氯地平")
    @NotBlank(message = "通用名不能为空")
    private String commonName;

    @ApiModelProperty(value = "商品名", example = "络活喜")
    @NotBlank(message = "商品名不能为空")
    private String name;

    @ApiModelProperty(value = "生产厂家", example = "1")
    @NotNull(message = "生产厂家不能为空")
    private Long factory;

    @ApiModelProperty(value = "规格说明", example = "20g*10片*1盒")
    @NotBlank(message = "规格说明不能为空")
    private String specs;

    @ApiModelProperty(value = "剂型（分散片/胶囊/含片）", example = "胶囊")
//    @NotBlank(message = "剂型不能为空")
    private String form;

    @ApiModelProperty(value = "外包装单位（盒/袋）", example = "盒")
    @NotBlank(message = "外包装单位不能为空")
    private String outerUnit;

    @ApiModelProperty(value = "外包装含量单位（g）", example = "g")
//    @NotBlank(message = "外包装含量单位不能为空")
    private String outerContentUnit;

    @ApiModelProperty(value = "外包装含量数量(200/200)", example = "200/200")
//    @NotBlank(message = "外包装含量数量不能为空")
    private String outerContentNumber;

    @ApiModelProperty(value = "内包装单位（片）", example = "片")
    @NotBlank(message = "内包装单位不能为空")
    private String innerUnit;

    @ApiModelProperty(value = "内包装数量", example = "10")
    @NotNull(message = "内包装数量不能为空")
    private Integer innerNum;

    @ApiModelProperty(value = "内包装含量单位（g）", example = "g")
    @NotBlank(message = "内包装含量单位不能为空")
    private String innerContentUnit;

    @ApiModelProperty(value = "内包装含量数量(20/20)", example = "20/20")
    @NotBlank(message = "内包装含量数量不能为空")
    private String innerContentNumber;

    @ApiModelProperty(value = "销售职务id列表，逗号隔开", example = "[1,2,3]")
//    @NotNull(message = "销售职务不能为空")
    private List<Long> sellJobDutyList;

    @ApiModelProperty(value = "销售方式（1-整装/2-分装/3-整装分装）", example = "1")
    @NotNull(message = "销售方式不能为空")
    private Integer sellMethod;

    @ApiModelProperty(value = "售价", example = "20")
    @NotNull(message = "售价不能为空")
    private BigDecimal unitPrice;

    @ApiModelProperty(value = "最低采购量", example = "10")
//    @NotNull(message = "最低采购量不能为空")
    private Integer minPurchaseNum;

    @ApiModelProperty(value = "采购周期", example = "10")
//    @NotNull(message = "采购周期不能为空")
    private Integer buyCycle;

    @ApiModelProperty(value = "预警数量", example = "10")
//    @NotNull(message = "预警数量不能为空")
    private Integer warnNum;

    @ApiModelProperty(value = "标签", example = "[1,2,3]")
//    @NotNull(message = "标签不能为空")
    private List<Long> tag;

    @ApiModelProperty(value = "描述", example = "这是药啊")
//    @NotNull(message = "描述不能为空")
    private String description;

    @ApiModelProperty(value = "药品负责部门", example = "[1,2,3]")
    private List<Long> drugDeptIds;

    @ApiModelProperty(value = "检查模板", example = "1")
    private Long checkTemplate;
    @ApiModelProperty(value = "是否入库", example = "true")
    private boolean isStory = true;
    @ApiModelProperty(value = "成本价(不入库的商品 要在这里填成本价)", example = "12")
    private BigDecimal costPrice;

    private String resultTime;
    private Integer timeNumber;

    @ApiModelProperty("图片base64数据")
//    @NotNull(message = "药品图片不能为空")
    private String pic;
}
